/**
 * 主题色配置文件
 * @author Wu.Liang
 * @date 2025-01-21
 * @description 定义功能卡片的主题色规范，遵循UI设计规范
 */

// 功能主题色定义
$theme-colors: (
  // 查询/搜索类功能
  'search': #3498db,
  'query': #3498db,
  'view': #3498db,
  
  // 工具/操作类功能
  'tools': #ff9500,
  'operation': #ff9500,
  'setting': #ff9500,
  'repair': #ff9500,
  
  // 列表/记录类功能
  'list': #2ed573,
  'record': #2ed573,
  'history': #2ed573,
  'my': #2ed573,
  
  // 支付/财务类功能
  'payment': #3742fa,
  'finance': #3742fa,
  'credit-card': #3742fa,
  'money': #3742fa,
  
  // 通知/公告类功能
  'notice': #ff4757,
  'announcement': #ff4757,
  'file-text': #ff4757,
  'message': #ff4757,
  
  // 联系/沟通类功能
  'contact': #27ae60,
  'phone': #27ae60,
  'communication': #27ae60,
  'service': #27ae60,
  
  // 安全/防护类功能
  'security': #e74c3c,
  'shield': #e74c3c,
  'protect': #e74c3c,
  
  // 社区/活动类功能
  'community': #9b59b6,
  'activity': #9b59b6,
  'event': #9b59b6,
  
  // 停车/车辆类功能
  'parking': #f39c12,
  'car': #f39c12,
  'vehicle': #f39c12,
  
  // 紧急/求助类功能
  'emergency': #e74c3c,
  'help': #e74c3c,
  'sos': #e74c3c,
  
  // 投诉/建议类功能
  'complaint': #e67e22,
  'suggestion': #e67e22,
  'feedback': #e67e22,
  
  // 更多/扩展类功能
  'more': #95a5a6,
  'expand': #95a5a6,
  'other': #95a5a6
);

// 获取主题色的函数
@function get-theme-color($key) {
  @if map-has-key($theme-colors, $key) {
    @return map-get($theme-colors, $key);
  }
  @return #95a5a6; // 默认颜色
}

// 主题色类名生成
@each $name, $color in $theme-colors {
  .theme-color-#{$name} {
    background-color: $color !important;
  }
  
  .text-theme-#{$name} {
    color: $color !important;
  }
  
  .border-theme-#{$name} {
    border-color: $color !important;
  }
}

// 功能类型到主题色的映射
$function-type-colors: (
  'query': 'search',
  'search': 'search',
  'view': 'search',
  'tools': 'tools',
  'operation': 'tools',
  'setting': 'tools',
  'repair': 'tools',
  'list': 'list',
  'record': 'list',
  'history': 'list',
  'my': 'list',
  'payment': 'payment',
  'finance': 'payment',
  'credit-card': 'payment',
  'money': 'payment',
  'notice': 'notice',
  'announcement': 'notice',
  'file-text': 'notice',
  'message': 'notice',
  'contact': 'contact',
  'phone': 'contact',
  'communication': 'contact',
  'service': 'contact',
  'security': 'security',
  'shield': 'security',
  'protect': 'security',
  'community': 'community',
  'activity': 'community',
  'event': 'community',
  'parking': 'parking',
  'car': 'parking',
  'vehicle': 'parking',
  'emergency': 'emergency',
  'help': 'emergency',
  'sos': 'emergency',
  'complaint': 'complaint',
  'suggestion': 'complaint',
  'feedback': 'complaint',
  'more': 'more',
  'expand': 'more',
  'other': 'more'
);

// 根据功能类型获取主题色的函数
@function get-function-theme-color($function-type) {
  @if map-has-key($function-type-colors, $function-type) {
    $theme-key: map-get($function-type-colors, $function-type);
    @return get-theme-color($theme-key);
  }
  @return get-theme-color('more'); // 默认颜色
}

// 导出给JavaScript使用
:export {
  @each $name, $color in $theme-colors {
    #{$name}: $color;
  }
  
  @each $function-type, $theme-key in $function-type-colors {
    #{$function-type}: map-get($theme-colors, $theme-key);
  }
}
